package ysf.com.simplediffculty;

/**
 * 判断是不是回文数  类似 123321 这样的数字就是回文数
 * 负数不是回文数
 * @author ysf
 * @date 2021/6/18 21:48
 */
public class NinthDemos {


    public static void main(String[] args) {

        int A = 1234321;
        boolean palindrome = isPalindrome(A);
        System.out.println(palindrome);


    }

    public static boolean isPalindrome(int x){

        if(x < 0){
            return false;
        }

        int a = (int) Math.log(123456);
        double b =  Math.log(10);

        int digit = (int) (Math.log(x) / Math.log(10) + 1);  // 总位数
        int revert = 0;
        int pop = 0;
        // 倒置 右半部分
        int y = digit / 2;
        for (int i = 0; i < y; i++) {
            pop = x % 10;
            revert = revert * 10 + pop;
            x/=10;
        }
        if (digit % 2== 0 && x == revert){
            return true;
        }
        // 奇数情况 x 除以 10 去除 1 位
        x = x / 10;
        if(digit % 2 !=0 && x == revert){
            return true;
        }
        return false;
    }


}
